package com.xhga.transaction.common.annotation;

/**
 * Created by xhga on 2019/4/23.
 */

import java.lang.annotation.*;

@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Inherited
@Documented
public @interface XHGATransaction {

    /**
     * 事务类型
     * 对一组事务操作起名,用于获取事务No
     * 如:create_order
     * @return
     */
    String type();

    /**
     * 服务组名字
     * 如：order,account,goods
     * @return
     */
    String[] names();

    /**
     * 服务名字
     * 与服务组中的名字保持一致
     * @return
     */
    String name();

    /**
     * 服务个数
     * 默认：3
     * 与服务组的长度保持一致
     * @return
     */
    int serverCount() default 3;
}
